package com.le.tester.book.effectivejava3rdchinese.articletweeneight;

import java.util.Collection;
import java.util.Objects;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;

/**
 * createTime：2022/8/17 15:16
 * description：使用列表的泛型声明大于数据泛型声明，因为在使用list的时候，编译的时候可以报错了
 * 首先不使用泛型
 */
public class Chooser {

    private final Object[] choiceObj;

    public Chooser(Collection collection) {
        choiceObj = collection.toArray();
    }

    public Object choose() {
        Random random = ThreadLocalRandom.current();
        return choiceObj[random.nextInt(choiceObj.length)];
    }
}
